# Wavefunctions

Representation and convension of one wavefunction ABINIT data structures and their theoretical justifications.

## Notations and theoretical considerations¶

A Bloch wavefunction characterized by a wavevector \kk is such that

where u_{\bf k}({\bf r}) is periodic, that is

where {\bf R} is a vector of the real space lattice.

Its representation by plane waves reads:

Normalization of {u_k} reads:

For a **spinor** wavefunction, there is an additional variable,
the spin \sigma that can take two values, that is \sigma=\uparrow (spin up)
or \sigma=\downarrow (spin down).
The following relations hold:

## Properties of the wavefunctions (scalar case)¶

For ground-state wavefunctions, we have to solve the SchrÃ¶dinger equation

where H is the Hamiltonian operator, n labels the state (or the band), \varepsilon_{n{\bf k}} is the eigenvalue.

As the wavevector labelling of an eigenstate comes from the property

in which \kk can be replaced by \kk + \GG where \GG is any reciprocal space lattice vector, we can
*choose* the wavefunctions at \kk and \kk + \GG
to be equal, or to make a linear combination of wavefunctions with the same energy.
This is a choice of **gauge** that does not affect the value of physical observables.
In what follows we prefer to work with the gauge

to keep the notation as simple as possible,

The time-reversal symmetry (non-magnetic case) of the Hamiltonian gives the following relation:

For the {\bf k} wavevectors that are half a reciprocal lattice vector (2{\bf k}={\bf G}_{0}), there is a special relationship between the Fourier coefficients of the wavefunction:

That is, coefficients at \GG and -{\bf G}-{\bf G}_{0} are related. This will allow to decrease by a factor of 2 the storage space for these specific {\bf k} points and accelerate CPU-intensive parts such as the application of the non-local part and the Fourier transform.

## Properties of the wavefunctions (spinor case)¶

One must distinguish two classes of Hamiltonians:

- the Hamiltonian is spin-diagonal,
- the Hamiltonian mixes the spin components.

In the first class, one finds usual non-spin-polarized, non-spin-orbit
Hamiltonians, in which case the spin up-spin up and spin down-spin down parts of the Hamiltonian
are equal, as well as spin-polarized
Hamiltonian when the magnetic field varies in strength but *not* in direction.
In the second class, one finds Hamiltonians that include the
spin-orbit splitting as well as non-collinear spin systems.

In the first class, the wavefunctions can be made entirely of *either* spin-up components *or* spin-down
components, and treated independently of those made of opposite spin.
This corresponds to nsppol = 2.
In the second class, one must stay with spinor wavefunctions.
This corresponds to nspinor = 2.

These two classes are mutually exclusive. The possibilities are thus:

nsppol | nspinor | wavefunction type |
---|---|---|

1 | 1 | scalar wavefunctions |

2 | 1 | spin-polarized wavefunctions |

1 | 2 | spinor wavefunctions |

The inclusion of spin-orbit coupling in the Hamiltonian requires nspinor = 2.

## Plane wave basis set sphere¶

In order to avoid dealing with an infinite number of plane waves to represent Bloch wavefunctions, one selects those with a kinetic energy lower than some cutoff energy E_{\rm cut}. The set of allowed {\bf G} vectors will be denoted by \mcS_{\kk}(E_{\rm cut}) such that

The kinetic energy cutoff is computed from the input variables ecut and dilatmx
to give the *effective* value

For special \kk-points satisfying the condition 2 \kk = \GG_0, not all coefficients must be stored. A specific storage mode, governed by the input variable istwfk has been introduced for the following \kk points:

For these points, the number of \GG vectors to be taken into account, is decreased by about a factor of 2. For the \GG‘s that are not treated, the coefficients u_{n{\bf k}}({\bf G}) can be recovered from those that are treated, thanks to

The value of istwfk is automatically computed by the code on the basis of the k-point coordinates and the treatment of time-reversal symmetry as specified by kptopt. One can disable the time-reversal trick in the input file by setting explicitly the value of istwfk with the syntax:

istwfk *1

The maximum number of \GG-vectors over all k-points is called %mpw inside the code.

## FFT grid and FFT box¶

For the generation of the density from wavefunctions, as well as for the application of the local part of the potential, one needs to be able to compute u_{n\kk}(\rr) for a 3D-mesh of \rr-points, extremely fast, from the values u_{n\kk}(\GG).

Note

spin up and spin down parts can be treated separately in this operation, so they do not need to be specified otherwise in this section.

The FFT algorithm starts from values of a function

and compute fast the transformed

with

We want the values of u_{\bf k}({\bf r}) on a FFT grid with:

The FFT algorithm has a computational cost that scales as N\log(N) where N is the
total number of points in the mesh.
Note, however, that we cannot obtain u_\kk(\rr) *everywhere* but only
on the discrete set of FFT points given in the above equations.
The choice of N_{1},N_{2},N_{3} is not discussed here.

For FFT efficiency (minimisation of cache conflicts), the arrays are not dimensioned with (N_1, N_2, N_3) but with (N_4, N_5, N_6) where:

The FFT mesh is given by ngfft.
PAW requires an additional **dense** FFT mesh for densities and potentials called ngfftdg.

## Symmetry Properties¶

### Effect of space group symmetries on electron energies and wavefunctions¶

All the symmetry operations which leave the crystal unchanged constitute a space group. Besides the translation symmetry operations, a space group contains proper or improper rotations followed by an appropriate fractional displacement. There are 230 in total [Bassani1975].

A generic element of the space group will be denoted in the following with \hat\mcR_\tt
where \mcR is a real orthonormal matrix associated to
a proper or improper rotation while \tt is the corresponding fractional translation.
If all the fractional translations are zero the space group is said to be *symmorphic*.
In Abinit, the rotations in real space are called symrel, while the corresponding
fractional translation are stored in the tnons array.
Note that both *symrel* and *tnons* are given in reduced coordinates.

The application of a symmetry operation \hat\mcR_\tt to a vector \Atm_i defining the position of an atom in the unit cell gives:

where \Atm_j indicates an atom in the same unit cell of the same type as \Atm_i which may be coincident with \Atm_i, and \RR is a suitable lattice translation (possibly zero). The application of the symmetry operation \hat \mcR_\tt on a generic function F(\rr) of the three spatial coordinates is conventionally defined by:

Since \omcR_\tt commutes with the Hamiltonian \HH of the crystal, it readily follows that, given \Psi_{n\kk}(\rr) being eigenstate of \HH, \omcR_\tt\, \Psi_{n\kk}(\rr) is also eigenstate of the SchrÃ¶dinger problem with the same eigenvalue:

Although \omcR_\tt\,\Psi_{n\kk}(\rr) has the same eigenenergy as \Psi_{n\kk}(\rr), its crystalline momentum is different. The operation \hat\mcR_\tt of the space group transforms a Bloch function with vector \kk into a new Bloch wave function of crystalline momentum \mcR \kk. This important property can be seen as follows:

where \RR is an arbitrary vector of the direct Bravais lattice and the invariance of the periodic part of the Bloch wave function has been exploited.

Note

The last equality in follows from the orthogonality
of the \mcR matrix when referred to in a Cartesian frame of reference.
The orthogonality of the rotation matrix does not hold anymore if, as usually done in the ABINIT code,
the symmetry operations are expressed in reduced coordinates.
In this case, the correct matrix to use for operations in reciprocal space is given by the transpose of \Ri.
(called *symrec* in the Fortran code)

For a nondegenerate state, one obtains:

The above equation can be used to reduce the number of \kk-points and matrix elements that have to be evaluated and stored since the information in the full Brillouin zone can be reconstructed by symmetry from an appropriate irreducible wedge. The set of equations below summarizes the most useful relationships commonly employed:

The time invariance of the Hamiltonian, \HH^\* = \HH, might introduce additional constraints:

It is important to stress that the set of equations in \ref{eq:space_group_symmetry} hold only in case of nondegenerate states. In the presence of degeneracy, the application of a symmetry operation on a Bloch wave function with momentum \kk belonging to the set of degenerate states \mcC_{\nk}, produces a new eigenstate with same energy and crystalline momentum \mcR \kk. The new eigenstate is given by an appropriate linear combination of the degenerate states with wave vector \mcR\kk. More explicitly:

where D_{\aa\bb}(\mcR) is the unitary transformation associated with \mcR [Bassani1975]. Equation \ref{eq:symmetry_for_degenerate_states} reduces to \ref{eq:rotation_wfn} if the state \Psi_\nk(\rr) is nondegenerate since, in this particular case, D_{\aa\bb}(\mcR) = \delta_{\aa\bb}.

### Magnetic Space Groups¶

An extension of the concept of symmetry is needed in order to explain the magnetic properties of crystals [Landau1984]. In addition to the spatial arrangement of atoms, the orientation of the atomic magnetic moment also becomes important in such systems. It may turn out that the usual spatial operation, while leaving the crystal unchanged in regard to its geometrical structure, will reverse the orientation of spins.

Let the symbol \mcJ indicate the operation of reversing all spins, and let \mcE denote the identity operator. A combined operation consisting of an ordinary symmetry operation followed by \mcJ is a new type of symmetry operation called a complementary operation. The rules for operator composition in the standard nonmagnetic group can be easily extended to include \mcJ:

Magnetic groups are obtained by replacing some of the symmetry elements of the initial non-magnetic space group by their complementary operations so that the resulting ensemble forms a group with respect to the new algebra. Magnetic space groups are sometimes referred to as Shubnikov groups, and can be classified according to three different categories [Bhagavantam1964].

- Shubnikov type IV
- Groups which include \mcJ explicitly, so-called grey groups or Shubnikov type IV (230 in number). Each group can be obtained by taking the direct product of each of the conventional space groups with the group (\mcE,\mcJ)
- Shubnikov type III
- Groups which do not include \mcJ explicitly, but which contain complementary symmetry operations. Also called mixed groups or Shubnikov type III. There are 1191 in total.
- Colorless
- Groups which do not include \mcJ either explicitly or in conjunction with a conventional symmetry operation, also named colorless groups. There are 230 and they are indistinguishable from the conventional space groups

Henceforth, in order to keep the notation as simple as possible, a symmetry operation containing \mcJ will be denoted with an underlined symbol \AFMomcR_\tt, and will be said to have anti-ferromagnetic character. On the contrary, symmetry operations which preserve the orientation of the spin projection will be denoted using the standard notation \omcR_\tt, and will be said to have ferromagnetic character. The action of a magnetic symmetry on a nondegenerate Bloch state has to be generalized according to:

where \ss = \pm \thalf. Using the above symmetry relations, one can verify that the two spin components of the electron density transform according to:

from which it follows that the total charge and, consequently, the Hartree potential are invariant under the application of any operation of the magnetic group. Similar symmetry relationships hold for the two components of the exchange-correlation potential.

The magnetic character of the symmetry operation is stored in the symafm array.